import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/**
 * @ClassName: Dmeo03
 * @Description: TODO Properties 向文件中写入键值对 (常用于保存配置文件)
 * @Author: MaykkStar@163.com
 */
public class Demo03 {
    private static final String src= "./MySQLConfig.txt";
    public static void main(String[] args) throws IOException {
        // 写入
        MyStore();
        // 读取
        MyLoad();
    }

    private static void MyLoad() throws IOException {
        FileReader file = new FileReader(src);
        Properties prop = new Properties();

        // 从文件中读取键值对
        prop.load(file);
        // 使用 stringPropertyNames 方法获取键的集合
        Set<String> keySet = prop.stringPropertyNames();
        // 遍历输出集合内容
        for (String key : keySet) {
            System.out.println(key + "<==>" + prop.getProperty(key));
        }
    }

    private static void MyStore() throws IOException {
        FileWriter file = new FileWriter(src);
        Properties prop = new Properties();
        prop.setProperty("LOCALHOST", "127.0.0.1");
        prop.setProperty("USERNAME", "root");
        prop.setProperty("PASSWORD", "toor");
        prop.setProperty("PORT", "3306");

        // 使用 store 方法向文件中写入键值对
        // 第二个参数是注释，会被写在最上面一行，如果不需要注释可以传入 null
        // prop.store(file,"MySQL configure!~");
        prop.store(file, null);
        file.close();
    }
}
